DisplayMetrics Bug?
DisplayMetrics bazı telefonlarda yanlış değerler döndürüyor. Örnek olarak aşağıdaki kod çoğu cihazda düzgün çalışırken HTC one x'te diagonal ekran boyutunu 6.894inç veriyor ki olması gereken değer 4.65inch. bu sorunun bir çözümü varmı yoksa bu bir bugmı? Android telefonlarda ekran boyutunun kaç inç olduğunu kodlama ile bulabilirmiyim? Yoksa boşunamı uğraşıyorum. Yardımlarınız için şimdiden teşekkürler.
[code]DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float widthDpi = metrics.xdpi;
float heightDpi = metrics.ydpi;
int widthPixels = metrics.widthPixels;
int heightPixels = metrics.heightPixels;
widthInches = widthPixels / widthDpi;
heightInches = heightPixels / heightDpi;
diagonalInches = Math.sqrt(
(widthInches * widthInches)
+ (heightInches * heightInches));
if (diagonalInches >= 9) {
//10" tablet
}
else if (diagonalInches >= 6.9) {
//7" tablet
}else if (diagonalInches >= 4.9) {
//5" phone
}else if (diagonalInches>4.3&&diagonalInches<4.9) {
//Device is a 4,65" phone
}else if (diagonalInches>=3.7&&diagonalInches<=4.3) {
//Device is a 4" phone
}[/code]